package main

import "fmt"

type Flying struct {}

func (f *Flying) fly() {
	fmt.Println("can fly")
}

type Walkable struct {}

func (w *Walkable) walk() {
	fmt.Println("can walk")
}

type Human struct {
	Walkable
}

type Bird struct {
	Flying
	Walkable
}

func main() {
	b :=new(Bird)
	fmt.Println("Bird:")
	b.fly()
	b.walk()
	h :=new(Human)
	fmt.Println("Human:")
	h.walk()
}